
package com.javaleague.informacion;

import com.javaleague.Constantes;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author TaixMiguel
 */
public class ErrorGeneral {
     static FileWriter archivo;

     public static void guardarLog(String clase, String mensaje, Exception error) {
         if (Constantes.Informacion.SHOW_ERRORS) {
            try {
                File fichero = new File(Constantes.Rutas.ERROR_GENERAL_LOGS);

                if ( !fichero.exists() ) {
                    try {
                        archivo = new FileWriter(fichero, false);
                        archivo.write("\"Fecha de la incidencia\";\"Mensaje con el problema\";\"Clase que ha causado el error\";\"Error producido\"\r\n");
                    } catch (IOException ex) {
                        guardarLog(Object.class.getName(), "No se ha podido crear el archivo de error general logs", ex);
                    }
                } else             
                   archivo = new FileWriter(fichero, true);

               SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
               String fechaAc = sdf.format(new Date());

                archivo.write(getMsg(fechaAc) + ";" + getMsg(mensaje) + ";" + getMsg(clase) + ";" + getMsg(error) + "\r\n");
                archivo.close();

            } catch (IOException ex) {
                guardarLog(Object.class.getName(), "No se ha podido encontrar el archivo de error general logs", ex);
            }        
        }
     }
     
     private static String getMsg(String variable) {
         return "\"" + variable + "\"";
     }
     
     private static String getMsg(Exception variable) {
         return "\"" + variable + "\"";
     }
}